package com.smfx.yxt.service;

import java.util.List;

import com.smfx.yxt.common.RspResult;
import com.smfx.yxt.model.SchoolbusLine;
import com.smfx.yxt.model.SchoolbusLineSite;
import com.smfx.yxt.model.SchoolbusStudentBoard;
import com.smfx.yxt.reqVo.SchoolbusQueryVO;
import com.smfx.yxt.reqVo.SchoolbusSignReqVO;
import com.smfx.yxt.view.SchoolbusLineView;
import com.smfx.yxt.view.SchoolbusListView;
import com.smfx.yxt.view.TeacherPhoneView;

public interface ISchoolbusLineService {

	int insertSelective(SchoolbusLine record);

    SchoolbusLine selectByPrimaryKey(Integer id);

    int updateByPrimaryKeySelective(SchoolbusLine record);
    
    //查询跟车老师的线路
    List<SchoolbusLine> selectLineByTeacherId(Integer teacherId);
    //查询所有线路
    List<SchoolbusLine> selectList();
    //查询线路站点信息
    SchoolbusLineView selectViewDetailByLineId(Integer lineId);
    //查询校车学生名单
    List<SchoolbusListView> selectSchoolbusListView(SchoolbusQueryVO vo);
    //学生上车或下车
    SchoolbusStudentBoard addAndUpdateStudentBoard(SchoolbusStudentBoard record);
    //学生上车通知家长
    void addSchoolbusBoardNoticeParent(Integer lineId);
    //是否是老师线路
    int isTeacherLine(SchoolbusQueryVO vo);
    //查询班级老师电话
    List<TeacherPhoneView> selectTeacherPhoneForSchoolbus(
    		Integer grade, Integer clazz);
    //查询家长报名线路
    List<SchoolbusLine> selectLineForParent(String openid);
    
    List<SchoolbusLineSite> selectSiteListByLineId(Integer lineId);
    
    RspResult addSchoolbusSign(SchoolbusSignReqVO reqVO);
    
    List<SchoolbusListView> selectStudentListByParam(SchoolbusQueryVO vo);
    
    boolean isStartCar(Integer lineId);
}
